home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / text / DefaultEditorKit$NextVisualPositionAction.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  2.2 KB  |  62 lines

  1. package javax.swing.text;
  2.  
  3. import java.awt.Point;
  4. import java.awt.Rectangle;
  5. import java.awt.event.ActionEvent;
  6. import javax.swing.text.Position.Bias;
  7.  
  8. class DefaultEditorKit$NextVisualPositionAction extends TextAction {
  9.    private boolean select;
  10.    private int direction;
  11.  
  12.    DefaultEditorKit$NextVisualPositionAction(String var1, boolean var2, int var3) {
  13.       super(var1);
  14.       this.select = var2;
  15.       this.direction = var3;
  16.    }
  17.  
  18.    public void actionPerformed(ActionEvent var1) {
  19.       JTextComponent var2 = ((TextAction)this).getTextComponent(var1);
  20.       if (var2 != null) {
  21.          Caret var3 = var2.getCaret();
  22.          DefaultCaret var4 = var3 instanceof DefaultCaret ? (DefaultCaret)var3 : null;
  23.          int var5 = var3.getDot();
  24.          Position.Bias[] var6 = new Position.Bias[1];
  25.  
  26.          try {
  27.             if (var3 != null && (this.direction == 1 || this.direction == 5)) {
  28.                Point var7 = var3.getMagicCaretPosition();
  29.                if (var7 == null) {
  30.                   Rectangle var8 = var4 != null ? var2.getUI().modelToView(var2, var5, var4.getDotBias()) : var2.modelToView(var5);
  31.                   var7 = new Point(var8.x, var8.y);
  32.                   var3.setMagicCaretPosition(var7);
  33.                }
  34.             }
  35.  
  36.             var5 = var2.getUI().getNextVisualPositionFrom(var2, var5, var4 != null ? var4.getDotBias() : Bias.Forward, this.direction, var6);
  37.             if (var6[0] == null) {
  38.                var6[0] = Bias.Forward;
  39.             }
  40.  
  41.             if (var4 != null) {
  42.                if (this.select) {
  43.                   var4.moveDot(var5, var6[0]);
  44.                } else {
  45.                   var4.setDot(var5, var6[0]);
  46.                }
  47.             } else if (this.select) {
  48.                var3.moveDot(var5);
  49.             } else {
  50.                var3.setDot(var5);
  51.             }
  52.  
  53.             if (this.direction == 3 || this.direction == 7) {
  54.                var2.getCaret().setMagicCaretPosition((Point)null);
  55.             }
  56.          } catch (BadLocationException var9) {
  57.          }
  58.       }
  59.  
  60.    }
  61. }
  62.